﻿using System;
using System.IO;
using System.Threading;
using System.Diagnostics;


namespace updater
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                string process = args[1].Replace(".exe", "");

                Console.WriteLine("Завершаю процесс редактора");

                while (Process.GetProcessesByName(process).Length > 0)
                {
                    Process[] myProcesses2 = Process.GetProcessesByName(process);
                    for (int i = 1; i < myProcesses2.Length; i++) { myProcesses2[i].Kill(); }
                    Console.WriteLine("Ожидаем завершения процесса редактора");
                    Thread.Sleep(300);
                }

                if (File.Exists(args[1]))
                {
                    Console.WriteLine("Удаляю старый файл");
                    File.Delete(args[1]);
                }

                File.Move(args[0], "MPE.exe");
                Console.WriteLine($"Запускаю новую версию {args[0]}");
                Process.Start("MPE.exe");

                System.Threading.Tasks.Task.Delay(2000);//Ожидание и закрытие
            }
            catch (Exception ex) { Console.WriteLine("ОШИБКА!!! " + ex.Message); Console.ReadKey(); }
        }
    }
}